.. _cmsSxGetCorrection: cmsSxGetCorrection ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmsSxGetCorrection ([in] VT_I4 BoardId, [in] VT_I4 Axis, [out] VT_PI4 CorrMode, [out] VT_PR8 CorrAmount, [out] VT_PR8 CorrVel, [out] VT_PI4 CntrMask) DESCRIPTION ````````````` - cmsSxGetCorrection() 함수는 백래쉬/슬립 보정에 대한 현재 설정값을 읽어들이는 함수입니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cms 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardId: 사용자가 설정한 디바이스(보드) ID. ▶ Axis: 축(채널) 번호. 축번호는 상수값으로 0 번째 채널을 기준 채널로 임의의 채널을 설정할 수 있습니다. ▶ CorrMode : cmsSxSetCorrection 함수의 인자이며, 보정 모드의 설정값은 다음과 같습니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 BIT No., Meaning 0 (cmsCORR_DISABLE), 보정기능을 상태입니다. 1 (cmsCORR_BACKLASH), 보정모드를 백래쉬 보정모드로 동작중입니다. 2 (cmsCORR_SLIP), 보정모드를 슬립 보정모드로 동작중입니다. ▶ CorrAmount : cmsSxGetCorrection 함수의 인자이며, 보정 펄스의 수를 반환합니다. ▶ CorrVel : cmsSxGetCorrection 함수의 인자이며, 보정펄스의 주파수를 반환합니다 RETURN VALUE ````````````` +------------+-----------+ | Value | Meaning | +============+===========+ | 음수 | 수행 실패 | +------------+-----------+ | ERR_NONE | 수행 성공 | +------------+-----------+ EXAMPLE ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #define DEV0 0 다음의 예제는 백래쉬 보정을 적용할 때의 동작에 대한 설명입니다. 본 예에서는 “Unit distance”와 “Unit speed”가 각각 1 로 설정되었음을 가정합니다. // 백래쉬보정 모드로 설정 (보정펄스수:1000, 보정펄스출력속도:1000 PPS) // cmsSxSetCorrection (DEV0, 0, cmsCORR_BACK, 1000, 1000); //////////////////////////////////////////////////////////////// // 이전에 (-)방향 이동을 수행하였다면 아래에서 백래쉬 보정을 수행합니다. // 1000 PPS 의 속도로 (+)1000 펄스를 출력한 후에 지정한 SxMove()가 수행됩니다. cmsSxMove(DEV0, 0, 10000); // 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. cmsSxMove(DEV0, 0, 10000); // 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. cmsSxMove(DEV0, 0, 10000); //////////////////////////////////////////////////////////////// // 이동방향이 전환되므로 아래에서 백래쉬 보정을 수행합니다. 1000 PPS 의 속도로 (- )1000 펄스를 출력한 // 후에 지정한 SxMove()가 수행됩니다. cmsSxMove(DEV0, 0, -10000); // 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. cmsSxMove(DEV0, 0, -10000); ----------------------------------------------------------- Visual Basic Const DEV0 = 0 '다음의 예제는 백래쉬 보정을 적용할 때의 동작에 대한 설명입니다. '본 예에서는 "Unit distance"와 "Unit speed"가 각각 1 로 설정되었음을 가정합니다. '// 백래쉬보정 모드로 설정 (보정펄스수:1000, 보정펄스출력속도:1000 PPS) Call SxSetCorrection(DEV0, 0, cmsCORR_BACK, 1000, 1000) '/////////////////////////////////////////////////////////////// '// 이전에 (-)방향 이동을 수행하였다면 아래에서 백래쉬 보정을 수행합니다. '// 1000 PPS 의 속도로 (+)1000 펄스를 출력한 후에 지정한 SxMove()가 ‘// 수행됩니다. Call SxMove(DEV0, 0, 10000) '// 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. Call SxMove(DEV0, 0, 10000) '// 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. Call SxMove(DEV0, 0, 10000) '/////////////////////////////////////////////////////////////// '// 이동방향이 전환되므로 아래에서 백래쉬 보정을 수행합니다. 1000 PPS 의 '속도로(-)1000 펄스를 출력한 후에 지정한 SxMove()가 수행됩니다. Call SxMove(DEV0, 0, -10000) '// 이동방향이 이전과 동일하므로 아래에서는 백래쉬보정을 하지 않습니다. Call SxMove(DEV0, 0, -10000) ----------------------------------------------------------- EXAMPLE2 ``````````` - 다음의 예제는 슬립보정을 적용할 때의 동작에 대한 설명입니다. 본 예에서는 “Unit distance”와 “Unit speed”가 각각 1 로 설정되었음을 가정합니다. .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ // 슬립보정 모드로 설정 (보정펄스수:1000, 보정펄스출력속도:1000 PPS) // cmsSxSetCorrection (DEV0, 0, cmsCORR_SLIP, 1000, 1000); // (+)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 cmsSxMove(DEV0, 0, 10000); // (+)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 cmsSxMove(DEV0, 0, 10000); // (-)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 cmsSxMove(DEV0, 0, -10000); // (-)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 cmsSxMove(DEV0, 0, -10000); ----------------------------------------------------------- Visual Basic '// 슬립보정 모드로 설정 (보정펄스수:1000, 보정펄스출력속도:1000 PPS) Call cmsSxSetCorrection(DEV0, 0, cmsCORR_SLIP, 1000, 1000) '// (+)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 Call cmsSxMove(DEV0, 0, 10000) '// (+)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 Call cmsSxMove(DEV0, 0, 10000) '// (-)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 Call cmsSxMove(DEV0, 0, -10000) '// (-)1000 펄스의 보정펄스가 출력된 후에 SxMove()가 수행됩니다 Call cmsSxMove(DEV0, 0, -10000) -----------------------------------------------------------